package com.foftact.etfposi;

import java.math.BigDecimal;
import java.util.Date;

/**
 * ETF持仓明细模型类
 * 对应数据库表：etf_position
 */
public class ETFPosiation {
    private Long id;             // 主键ID
    private String fundCode;     // 基金代码
    private String fundName;     // 基金名称
    private String stockCode;    // 股票代码
    private String stockName;    // 股票名称
    private BigDecimal netValueRatio; // 占净值比例(%)
    private BigDecimal shareQuantity; // 持股数(万股)
    private BigDecimal positionValue; // 持仓市值(万元)
    private Integer reportYear;  // 报告年份
    private Integer reportQuarter; // 报告季度
    private Date reportDate;     // 报告日期
    private String dataSource;   // 数据来源
    private Date createTime;     // 创建时间
    private Date updateTime;     // 更新时间

    // getter和setter方法
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getFundCode() {
        return fundCode;
    }

    public void setFundCode(String fundCode) {
        this.fundCode = fundCode;
    }

    public String getFundName() {
        return fundName;
    }

    public void setFundName(String fundName) {
        this.fundName = fundName;
    }

    public String getStockCode() {
        return stockCode;
    }

    public void setStockCode(String stockCode) {
        this.stockCode = stockCode;
    }

    public String getStockName() {
        return stockName;
    }

    public void setStockName(String stockName) {
        this.stockName = stockName;
    }

    public BigDecimal getNetValueRatio() {
        return netValueRatio;
    }

    public void setNetValueRatio(BigDecimal netValueRatio) {
        this.netValueRatio = netValueRatio;
    }

    public BigDecimal getShareQuantity() {
        return shareQuantity;
    }

    public void setShareQuantity(BigDecimal shareQuantity) {
        this.shareQuantity = shareQuantity;
    }

    public BigDecimal getPositionValue() {
        return positionValue;
    }

    public void setPositionValue(BigDecimal positionValue) {
        this.positionValue = positionValue;
    }

    public Integer getReportYear() {
        return reportYear;
    }

    public void setReportYear(Integer reportYear) {
        this.reportYear = reportYear;
    }

    public Integer getReportQuarter() {
        return reportQuarter;
    }

    public void setReportQuarter(Integer reportQuarter) {
        this.reportQuarter = reportQuarter;
    }

    public Date getReportDate() {
        return reportDate;
    }

    public void setReportDate(Date reportDate) {
        this.reportDate = reportDate;
    }

    public String getDataSource() {
        return dataSource;
    }

    public void setDataSource(String dataSource) {
        this.dataSource = dataSource;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        return "ETFPosiation{" +
                "id=" + id +
                ", fundCode='" + fundCode + '\'' +
                ", fundName='" + fundName + '\'' +
                ", stockCode='" + stockCode + '\'' +
                ", stockName='" + stockName + '\'' +
                ", netValueRatio=" + netValueRatio +
                ", shareQuantity=" + shareQuantity +
                ", positionValue=" + positionValue +
                ", reportYear=" + reportYear +
                ", reportQuarter=" + reportQuarter +
                ", reportDate=" + reportDate +
                ", dataSource='" + dataSource + '\'' +
                '}';
    }
}